module.exports = {
  chainWebpack: config => {
    // 发布模式
    config.when(process.env.NODE_ENV === 'production', config => {
      // config.entry('app') 得到默认的打包入口
      // clear() 清空默认打包入口
      // add('./src/main-prod.js') 新增一个打包入口
      config
        .entry('app')
        .clear()
        .add('./src/main-prod.js')

      // 配置 externals
      config.set('externals', {
        'vue': 'Vue',
        'vue-router': 'VueRouter',
        'axios': 'axios',
        'lodash': '_',
        'echarts': 'echarts',
        'nprogress': 'NProgress',
        'vue-quill-editor': 'VueQuillEditor'
      })

      // 为 html 这个插件新增一个 isProd 属性，用于控制不同模式下首页的渲染方式
      config.plugin('html').tap(args => {
        args[0].isProd = true
        return args
      })
    })
    // 开发模式
    config.when(process.env.NODE_ENV === 'development', config => {
      config
        .entry('app')
        .clear()
        .add('./src/main-dev.js')

      config.plugin('html').tap(args => {
        args[0].isProd = false
        return args
      })
    })
  }
}
